﻿@{
    Layout = "_LayoutH";
    @model Sys_dict
}
<div id="app" v-cloak>
    <form class="form-horizontal" onsubmit="return false">
        <div class="box-body">
            @await Component.InvokeAsync("DictType")
            <div class="form-group">
                <label class="col-sm-2 control-label">字典名称</label>
                <div class="col-sm-10">
                    <input class="form-control" v-model="DictName" v-focus type="text">
                </div>
            </div>
            @*<div class="form-group">
                    <label class="col-sm-2 control-label">字典类型</label>
                    <div class="col-sm-10">
                        <input class="form-control" v-model="DictType" type="text">
                    </div>
                </div>*@
            <div class="form-group">
                <label class="col-sm-2 control-label">备注</label>
                <div class="col-sm-10">
                    <textarea v-model="Remark" class="form-control" rows="3" placeholder="备注...100个字符以内"></textarea>
                    <p class="textarea-numberbar"><em class="textarea-length">{{count}}</em>/100</p>
                </div>
            </div>
        </div>
        <div class="box-footer">
            <div class="pull-right box-tools">
                <input v-on:click="addL" class="btn btn-primary radius" type="submit" v-model="submit">
            </div>
        </div>
    </form>
</div>

@section scripts{
    <script>
        var app = new Vue({
            el: "#app",
            data: {
                submit: "添加",
                DictId:"@Model.DictId",
                Remark: "@Model.Remark",
                DictName: "@Model.DictName",
                DictType:"@Model.DictType"
            },
            computed: {
                count: function () {
                    return this.strLength(this.Remark, false);
                }
            },
            //mounted: function(){
            //    var _self = this;
            //    _self.$nextTick(function () {
            //    });
            //},
            methods: {
                addL: function () {
                   var _self = this;
                    if (_self.DictName.length <= 0) {
                        layer.msg("字典名称不能为空", { icon: 2 });
                        return false;
                    }
                    if (_self.DictType.length <= 0) {
                        layer.msg("请选择字典类型", { icon: 2 });
                        return false;
                    }
                    var index = layer.load(1, {
                        shade: [0.1, '#fff'] //0.1透明度的白色背景
                    });
                    var data = {
                        id: _self.DictId,
                        DictName: _self.DictName,
                        DictType: _self.DictType,
                        Remark: _self.Remark
                    };
                    yui.$axiospostform('/Dict/AddOrUpdate', data)
                        .then(function (response) {
                            if (response.data.Item1 === 101) {
                                layer.tips(response.data.Item2, '.layui-layer-setwin', {
                                    tips: [1, '#3595CC'],
                                    time: 3000
                                });
                                layer.close(index);
                                return false;
                            }
                            if (response.data.Item1) {
                                layer.msg(response.data.Item2, { icon: 1, time: 1000 });
                                setTimeout(function () {
                                    yui.layer_close3();
                                }, 500);
                            } else {
                                layer.msg(response.data.Item2 || errorMsg, { icon: 5 });
                            }
                            layer.close(index);
                        })
                        .catch(function (error) {
                            layer.close(index);
                        });
                }
            }
        });
    </script>
}